## stats.R - algumas estatísticas genéricas sobre os dados, e a função
## densidade empírica.

source("dados.R")

printStats <- function(dados, descr)
{
	E = mean(dados)
	V = var(dados)
	SD = sd(dados)
        Max = max(dados)
        Min = min(dados)

	print("")
	print("")
	print(paste("=- Estatísticas para os dados", descr, "-="))
	print(paste("Média: ", E))
	print(paste("Mediana: ", median(dados)))
	print(paste("Variância: ", V))
	print(paste("Desvio Padrão: ", SD))
    print(paste("Máximo: ", Max))
    print(paste("Mínimo: ", Min))

	qnd <- quantile(dados, probs=seq(0,1,0.1), names=F)
	qrd <- quantile(dados, names=F)
	# R tem função para isto: kurtoses()
	curtose <- (qrd[3]-qrd[1]/(2*(qnd[9]-qnd[1])))
	print(paste("Curtose: ", curtose))

	print("")
	CURTOSE_TESTE <- 3
	if(curtose > CURTOSE_TESTE) {
		print("Distribuição achatada: platicúrtica")
	} else if(curtose == CURTOSE_TESTE) {
		print("Distribuição nem achatada, nem alongada: mesocúrtica")
	} else if(curtose < CURTOSE_TESTE) {
		print("Distribuição alongada: leptocúrtica")
	}


	print("calculate densities? (s/n) ")
	s <- readLines(,1)

	if(s == "s" || s == "y") {
		Fn <- ecdf(dados)
		print("função densidade à direita:")
		print(paste("para", E+(1*SD), " a função densidade é: ", Fn(E+(1*SD))))
		print(paste("para", E+(2*SD), " a função densidade é: ", Fn(E+(2*SD))))
		print(paste("para", E+(3*SD), " a função densidade é: ", Fn(E+(3*SD))))
		print("função densidade à esquerda:")
		print(paste("para", E-(1*SD), " a função densidade é: ", Fn(E-(1*SD))))
		print(paste("para", E-(2*SD), " a função densidade é: ", Fn(E-(2*SD))))
		print(paste("para", E-(3*SD), " a função densidade é: ", Fn(E-(3*SD))))
	}
}

printStats(danos, "Danos")
printStats(log(danos), "log(Danos)")

